package com.airlines.crewassignment.domain;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

import com.airlines.crewassignment.entity.linkline.TaskLoopFlightFact;

/**
 * @author xxxx
 * @date 2018年3月26日 
 * @description 航班信息
 */
 
public class FlightInfo   implements Serializable{
	
	private static final long serialVersionUID = -2364467284602181550L;
	private Integer flightId;
	private Date flightDate; //航班日期
	private String flightType; //航班性质
	private String flightNo; //航班号
	private String acType; //机型
	private String acReg; 	//机号
	private String departureAirport; //起飞机场
	private String arrivalAirport; //落地机场
	private Date std; //计飞
	private Date sta; //计达
	private String dorI; //国内国际
	private String porC; //客货
	private String adjustType; //调整类型
	private String flgVr; //备降返航
	private String flgCs; //签派取消
	private String acLineLine; //飞机连线号
	private Integer serial; //机序
	//private Integer crewLinklineNo; //机组连线号
	private Integer crewLinklineNoF; //机组连线号-飞行
	private Integer crewLinklineNoC; //机组连线号-客舱
	private Integer crewLinklineNoA; //机组连线号-保卫
	private LinkLine linkLine;//机组连线信息
	
	//飞行时间相关参数
	private Date outTimeAcars; //ACARS T2001.SLIDE_TIME    
	private Date innTimeAcars; //ACARS T2001.INN 
	private Date outTimeQar; //滑出时间 QAR
	private Date innTimeQar; //滑入时间QAR
	private Integer airDurationCfp;//任务书中的空中时间  C3080.AIR_HOURS
	//飞行时间计算
	private Integer flightDuration;//任务书中的空中时间>ACARS滑入-滑出>QAR滑入-滑出

	private String crewWorkcodes;//机组飞行员工号，注意，这里是按照模块分开的，即飞行、客舱、保卫
	
	private String crewWorkcodesAll;//所有的已经安排的航班的机组人员列表
	
	private boolean foreignFlag;//外籍是否可飞航路
	
	private String  taskLoopFactF ; //飞行任务环实例
	private String  taskLoopFactC ; //客舱任务环实例
	private String  taskLoopFactA ; //保卫任务环实例
	
	private Integer  arrivalAirportRestTimeF;//飞行落地过站休息期
	private Integer  arrivalAirportRestTimeC;//客舱落地过站休息期
	private Integer  arrivalAirportRestTimeA;//保卫落地过站休息期
	
	private List<TaskLoopFlightFact>  taskLoopFlightFactList = new ArrayList<>(); //航班任务环信息

	public Integer getFlightId() {
		return flightId;
	}

	public void setFlightId(Integer flightId) {
		this.flightId = flightId;
	}

	public Date getFlightDate() {
		return flightDate;
	}

	public void setFlightDate(Date flightDate) {
		this.flightDate = flightDate;
	}

	public String getFlightType() {
		return flightType;
	}

	public void setFlightType(String flightType) {
		this.flightType = flightType;
	}

	public String getFlightNo() {
		return flightNo;
	}

	public void setFlightNo(String flightNo) {
		this.flightNo = flightNo;
	}

	public String getAcType() {
		return acType;
	}

	public void setAcType(String acType) {
		this.acType = acType;
	}

	public String getAcReg() {
		return acReg;
	}

	public void setAcReg(String acReg) {
		this.acReg = acReg;
	}

	public String getDepartureAirport() {
		return departureAirport;
	}

	public void setDepartureAirport(String departureAirport) {
		this.departureAirport = departureAirport;
	}

	public String getArrivalAirport() {
		return arrivalAirport;
	}

	public void setArrivalAirport(String arrivalAirport) {
		this.arrivalAirport = arrivalAirport;
	}

	public Date getStd() {
		return std;
	}

	public void setStd(Date std) {
		this.std = std;
	}

	public Date getSta() {
		return sta;
	}

	public void setSta(Date sta) {
		this.sta = sta;
	}

	public String getDorI() {
		return dorI;
	}

	public void setDorI(String dorI) {
		this.dorI = dorI;
	}

	public String getPorC() {
		return porC;
	}

	public void setPorC(String porC) {
		this.porC = porC;
	}

	public String getAdjustType() {
		return adjustType;
	}

	public void setAdjustType(String adjustType) {
		this.adjustType = adjustType;
	}

	public String getFlgVr() {
		return flgVr;
	}

	public void setFlgVr(String flgVr) {
		this.flgVr = flgVr;
	}

	public String getFlgCs() {
		return flgCs;
	}

	public void setFlgCs(String flgCs) {
		this.flgCs = flgCs;
	}

	public String getAcLineLine() {
		return acLineLine;
	}

	public void setAcLineLine(String acLineLine) {
		this.acLineLine = acLineLine;
	}

	public Integer getSerial() {
		return serial;
	}

	public void setSerial(Integer serial) {
		this.serial = serial;
	}

	public Integer getCrewLinklineNoF() {
		return crewLinklineNoF;
	}

	public void setCrewLinklineNoF(Integer crewLinklineNoF) {
		this.crewLinklineNoF = crewLinklineNoF;
	}

	public Integer getCrewLinklineNoC() {
		return crewLinklineNoC;
	}

	public void setCrewLinklineNoC(Integer crewLinklineNoC) {
		this.crewLinklineNoC = crewLinklineNoC;
	}

	public Integer getCrewLinklineNoA() {
		return crewLinklineNoA;
	}

	public void setCrewLinklineNoA(Integer crewLinklineNoA) {
		this.crewLinklineNoA = crewLinklineNoA;
	}

	public LinkLine getLinkLine() {
		return linkLine;
	}

	public void setLinkLine(LinkLine linkLine) {
		this.linkLine = linkLine;
	}

	public Date getOutTimeAcars() {
		return outTimeAcars;
	}

	public void setOutTimeAcars(Date outTimeAcars) {
		this.outTimeAcars = outTimeAcars;
	}

	public Date getInnTimeAcars() {
		return innTimeAcars;
	}

	public void setInnTimeAcars(Date innTimeAcars) {
		this.innTimeAcars = innTimeAcars;
	}

	public Date getOutTimeQar() {
		return outTimeQar;
	}

	public void setOutTimeQar(Date outTimeQar) {
		this.outTimeQar = outTimeQar;
	}

	public Date getInnTimeQar() {
		return innTimeQar;
	}

	public void setInnTimeQar(Date innTimeQar) {
		this.innTimeQar = innTimeQar;
	}

	public Integer getAirDurationCfp() {
		return airDurationCfp;
	}

	public void setAirDurationCfp(Integer airDurationCfp) {
		this.airDurationCfp = airDurationCfp;
	}

	public Integer getFlightDuration() {
		return flightDuration;
	}

	public void setFlightDuration(Integer flightDuration) {
		this.flightDuration = flightDuration;
	}

	public String getCrewWorkcodes() {
		return crewWorkcodes;
	}

	public void setCrewWorkcodes(String crewWorkcodes) {
		this.crewWorkcodes = crewWorkcodes;
	}

	public String getCrewWorkcodesAll() {
		return crewWorkcodesAll;
	}

	public void setCrewWorkcodesAll(String crewWorkcodesAll) {
		this.crewWorkcodesAll = crewWorkcodesAll;
	}

	public boolean isForeignFlag() {
		return foreignFlag;
	}

	public void setForeignFlag(boolean foreignFlag) {
		this.foreignFlag = foreignFlag;
	}

	public String getTaskLoopFactF() {
		return taskLoopFactF;
	}

	public void setTaskLoopFactF(String taskLoopFactF) {
		this.taskLoopFactF = taskLoopFactF;
	}

	public String getTaskLoopFactC() {
		return taskLoopFactC;
	}

	public void setTaskLoopFactC(String taskLoopFactC) {
		this.taskLoopFactC = taskLoopFactC;
	}

	public String getTaskLoopFactA() {
		return taskLoopFactA;
	}

	public void setTaskLoopFactA(String taskLoopFactA) {
		this.taskLoopFactA = taskLoopFactA;
	}

	public Integer getArrivalAirportRestTimeF() {
		return arrivalAirportRestTimeF;
	}

	public void setArrivalAirportRestTimeF(Integer arrivalAirportRestTimeF) {
		this.arrivalAirportRestTimeF = arrivalAirportRestTimeF;
	}

	public Integer getArrivalAirportRestTimeC() {
		return arrivalAirportRestTimeC;
	}

	public void setArrivalAirportRestTimeC(Integer arrivalAirportRestTimeC) {
		this.arrivalAirportRestTimeC = arrivalAirportRestTimeC;
	}

	public Integer getArrivalAirportRestTimeA() {
		return arrivalAirportRestTimeA;
	}

	public void setArrivalAirportRestTimeA(Integer arrivalAirportRestTimeA) {
		this.arrivalAirportRestTimeA = arrivalAirportRestTimeA;
	}

	public List<TaskLoopFlightFact> getTaskLoopFlightFactList() {
		return taskLoopFlightFactList;
	}

	public void setTaskLoopFlightFactList(List<TaskLoopFlightFact> taskLoopFlightFactList) {
		this.taskLoopFlightFactList = taskLoopFlightFactList;
	}

	public static long getSerialversionuid() {
		return serialVersionUID;
	}
	
	
	
}
